1. Field of the Invention
The present invention relates to the field of semiconductor memory devices and, more particularly to a content addressable memory (CAM) device utilizing part of the search content as an address.
2. Description of the Related Art
Content addressable memory (CAM) devices are becoming more important in today's highly technical society. CAM devices are frequently employed in network equipment, particularly routers and switches, computer systems and other devices that require content searching. CAM devices are sometimes referred to as associative memories.
A CAM device does not operate like a random access memory (RAM) device. In a RAM device, an address is provided by a controller, the address is used to access a particular memory location within the RAM memory array and then the content stored in the addressed memory location is retrieved from the memory array. A CAM device, on the other hand, is interrogated by a desired content. That is, in a CAM device, "key data" corresponding to the desired content is generated and used to search the memory locations of the entire CAM memory array. When the content stored in the CAM memory array does not match the key data, the CAM device returns a no match indication. When the content stored in the CAM memory array matches the key data, the CAM device outputs information associated with the content.
In network router or switch, for example, CAM devices are used to store Internet Protocol (IP) addresses and routing instructions associated with each address. When an IP packet is received and the IP address obtained, the router must retrieve the routing information for the packet in order to send it on the most direct route to the desired IP address. By using a CAM memory device, the router can search the CAM for the desired IP address (i.e., the desired content). If there is a match, the CAM returns the associated routing information.
Traditional CAM devices have been implemented using SRAM memory cells. However, with this structure, each CAM cell uses a large number of transistors so that all of the cells in the array may be read at once. Alternative CAM devices are being made from other RAM memory cells. Unfortunately, these devices require the rows of the CAM device to be read sequentially one row at a time and is prohibitively slow.
Accordingly, there is a desire and need for a CAM device with minimized cell structure and high speed searching capabilities.